﻿/*
Nombre:                         ObtenerPorDatosSimilaresAccion
Descripcion:                    Accion que obtiene todos los titulares que comparten nombres y apellidos de la base de datos utilizando la tecnologia LINQ
Dependencias:                 
Fecha de creación:              20090704
Autor:                          VMORALES
Fecha de modifcación:         
Responsable:                  
Num. de modifcación:            0
*/

#region Imports

using Entidades = Electrocucaracha.AdminPersonal.DAO.Entidades;
using Electrocucaracha.AdminPersonal.DAO.Acciones;
using System.Linq;
using Common.Logging;

#endregion

namespace Electrocucaracha.AdminPersonal.DAO.Linq.Acciones.Titular
{
    /// <summary>
    /// Accion que obtiene todos los titulares que comparten nombres y apellidos de la base de datos utilizando la tecnologia LINQ
    /// </summary>
    class ObtenerPorDatosSimilaresAccion : Accion
    {
        #region Constantes

        #endregion

        #region Miembros

        #endregion

        #region Propiedades

        #endregion

        #region Constructores

        ObtenerPorDatosSimilaresAccion()
        {
            this.nombreClase = "Titular.ObtenerPorDatosSimilaresAccion";
            this.logLevel = LogLevel.Info;
        }//ObtenerPorDatosSimilaresAccion

        #endregion

        #region Funciones

        #endregion

        #region IAccion

        /// <summary>
        /// Accion que obtiene todos los titulares que coincidan con el parametro solicitado
        /// </summary>
        public override void Ejecutar()
        {
            Entidades.TitularDTO titular = parametros[INPUT] as Entidades.TitularDTO;
            if (titular != null)
            {
                dbAdminPersonalDataContext dbAdmin = new dbAdminPersonalDataContext();

                parametros[OUTPUT] = (from t in dbAdmin.Titulars
                                      where t.Nombres.Equals(titular.Nombres) &&
                                      t.ApellidoPaterno.Equals(titular.ApellidoPaterno) &&
                                      t.ApellidoMaterno.Equals(titular.ApellidoMaterno)
                                      select t).ToArray<Entidades.TitularDTO>();
            }
        }//Ejecutar

        #endregion

    }//ObtenerPorDatosSimilaresAccion
}//Electrocucaracha.AdminPersonal.DAO.Linq.Acciones.Titular
